package edu.cibertec.tag;

import java.util.ArrayList;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

import edu.cibertec.bean.BeanCombo;
import edu.cibertec.dao.ComboDAO;
import edu.cibertec.dao.DAOFactory;



public class ComboAreaTag extends TagSupport{

  String funcion;
  String seleccion;
  
  
  
  public String getSeleccion() {
    return seleccion;
  }

  public void setSeleccion(String seleccion) {
    this.seleccion = seleccion;
  }

  public String getFuncion() {
    return funcion;
  }

  public void setFuncion(String funcion) {
    this.funcion = funcion;
  }




  public int doStartTag() throws JspException {

    // --- obteniendo los elementos del combo dinamico
        DAOFactory fabrica=
          DAOFactory.getDAOFactory(DAOFactory.MYSQL);
        
        ComboDAO combodao=fabrica.getComboDAO();
        
    
        try {
          
          ArrayList<BeanCombo> elementos=
                      combodao.obtenerAreas();

          // --- obteniendo el elemento a seleccionar
          String laseleccion = this.getSeleccion();
          if(laseleccion==null)laseleccion="";
          
          // -- referenciando al jsp          
          JspWriter salida=pageContext.getOut();
          salida.println("<select name=area onchange=");
          salida.println(this.getFuncion());
          salida.println(" >");
          
          salida.println("<option value=0 > Seleccione un Area:");
          
          for(int i=0;i<elementos.size();i++){
        	  
              BeanCombo elemento=elementos.get(i);
              
              salida.print("<option value=");
             
              salida.print(elemento.getCodigo());
              
              if(elemento.getCodigo().equals(laseleccion))
                salida.print(" selected > ");
              else
                salida.print(" > ");
              
              salida.println(elemento.getDescripcion());
          }
          salida.println("</select>");
          

          
        } catch (Exception e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
        
    
    
    
    
    return EVAL_BODY_INCLUDE;
    
  }
  
  
}
